1. Field
The field generally relates to digital video encoding.
2. Background
Compressed or coded digital video is quickly becoming ubiquitous for video storage and communication. Generally speaking, video sequences contain a significant amount of statistical and subjective redundancy within and between frames. Thus, video compression and source coding provides the bit-rate reduction for storage and transmission of digital video data by exploiting both statistical and subjective redundancies, and to encode a “reduced set” of information using entropy coding techniques. This usually results in a compression of the coded video data compared to the original source data. The performance of video compression techniques depends on the amount of redundancy contained in the image data as well as on the actual compression techniques used for coding. For example, video compression or coding algorithms are being used to compress digital video for a wide variety of applications, including video delivery over the Internet, digital television (TV) broadcasting, satellite digital television, digital video disks (DVD), DVD players, set top boxes, TV enabled personal computers (PC), as well as video storage and editing.
Current compression algorithms can reduce raw video data rates by factors of 15 to 80 times without considerable loss in reconstructed video quality. The basic statistical property upon which some compression techniques rely is inter-pel correlation. Since video sequences usually contain statistical redundancies in both temporal and spatial directions, it is assumed that the magnitude of a particular image pel can be predicted from nearby pixels within the same frame (using intra-frame coding techniques) or from pixels of a nearby frame (using inter-frame techniques). In some circumstances, such as during scene changes of a video sequence, the temporal correlation between pixels and nearby frames is small (e.g., the video scene is then an assembly over time of uncorrelated still images). In such cases, intra-frame coding techniques are appropriate to explore spatial correlation to achieve sufficient data compression.
Various compression algorithms employ discrete cosine transform (DCT) coding techniques on image blocks of 8×8 pixels to effectively explore spatial correlations between nearby pixels within the same image. For example, these processes typically include reading previously saved reference data to determine a prediction direction (e.g., direction intra-prediction) and to perform predicting (e.g., intra-prediction predicting code). Additionally, after finishing an intra-prediction, these processes typically include saving part of a reconstructed “current” block to a data buffer as reference data for later prediction use (e.g., such as saving a first row and first column or last row and last column or a reconstructed block).